Insertion point bungee space tool

ABSTRACT

A computer system and method for providing user feedback when creating, modifying, or editing electronic documents. An insertion point icon is placed in a document at a position for insertion and/or deletion of text, graphics, data, etc. Upon receiving an user input indicating movement, the insertion point icon is divided into two icons, one stationary at the position, and one moving with user input. When movement is complete, space contained between the icons may be deleted or inserted. The system may be used to shift handwritten text to subsequent lines on an electronic document containing handwritten text, and may be used to bring two groups of text together, deleting space in between. A connection line may be displayed between the icons to provide feedback regarding the action to be taken.

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] The present application claims priority to U.S. ProvisionalPatent Application Serial No. 60/247,842, entitled Insertion PointBungee Space Tool, filed Nov. 10, 2000, which is hereby incorporated byreference as to its entirety. The present application is also related toU.S. Provisional Application Serial No. 60/247,182, entitled Method andApparatus For Improving the Appearance of Digitally RepresentedHandwriting, filed on Nov. 10, 2000; to U.S. Provisional ApplicationSerial No. 60/247,841, entitled Highlevel Active Pen Matrix, and filedon Nov. 10, 2000; to U.S. Provisional Application Serial No. 60/247,973,entitled Selection Handles in Editing Electronic Documents, and filed onNov. 10, 2000; to application Serial No. (Atty docket 3797.00083), alsoentitled Selection Handles in Editing Documents, and filed on Jan. 24,2001; to U.S. Provisional Application Serial No. 60/247,844, entitledSimulating Gestures of a Mouse Using a Stylus and Providing FeedbackThereto, and filed on Nov. 10, 2000; to U.S. Provisional ApplicationSerial No. 60/247,400, entitled System and Method For AcceptingDisparate Types Of User Input, and filed on Nov. 10, 2000; to U.S.Provisional Application Serial No. 60/247,972, entitled In Air Gestures,and filed on Nov. 10, 2000; to U.S. Provisional Application Serial No.60/247,831, entitled Mouse Input Panel Windows Class List, and filedNov. 10, 2000; to U.S. Provisional Application Serial No. 60/247,843,entitled Mouse Input Panel and User Interface, and filed Nov. 10, 2000;to U.S. Provisional Application Serial No. 60/247,479, entitled Systemand Method For Inserting Implicit Page Breaks, and filed on Nov. 10,2000; to application Serial No. (Atty. docket 3797.00086), entitled HighLevel Active Pen Matrix, and filed on Dec. 15, 2000; to application Ser.No. 09/741,107, entitled Mode Hinting/Switching, and filed on Dec. 21,2000; to U.S. Provisional Application Serial No. 60/247,847, entitledTablet Computer and its Features, and filed on Nov. 10, 2000; and toapplication Ser. No. 09/750,288, entitled Anchoring, Rendering, Reflow,& Transformations, filed Dec. 29, 2000, each of which is incorporated byreference herein as to their entireties.

TECHNICAL FIELD

[0002] Aspects of the present invention relate generally to userinterfaces for computer systems. More particularly, the presentinvention relates to providing computer users with improved visualfeedback when editing textual documents on a computer. Further aspectsrelate to providing users with improved visual feedback when editinghandwritten documents on a computer system.

BACKGROUND OF THE INVENTION

[0003] The use of computers and/or computing systems to generate textualdocuments has become an established practice in today's Computer Age.Through the use of a computer, such as a personal computer, and akeyboard (e.g., one having the “QWERTY” key configuration), it is nowpossible for users to type and create documents of many different typesand formats.

[0004] Various word-processing programs also provide a certain amount ofvisual feedback, through a user interface, to provide the user withvisual cues as to the effects of the user's actions. For example, ingenerating an electronic document using the “MICROSOFT® WORD” program,which is a word-processing product offered by Microsoft Corp., manyvisual cues are provided. One such visual cue is a flashing cursor thatappears at a point in the document. The flashing cursor, represented bya vertical line, is the point at which text will appear if the user wereto begin typing on the keyboard. In this regard, the location of thecursor may be referred to as the insertion point. The cursor is also thepoint from which text may be deleted upon pressing an “Insert” or“Delete” key on the keyboard, and may also serve as a first point inhighlighting a portion of the document.

[0005] However, the use of such a cursor for various editing actionsrequires the user to study and learn multiple functions and commands,thus complicating the user's interaction with the system. To illustrate,FIG. 3a shows a screen of text from a prior art word processing program.In the FIG. 3a screen, several lines of text 301 may have been generatedby the user, for example, by typing the letters on a keyboard. If theuser should desire to insert additional space, or text, at a point 302within the lines of text 301, the user generally is required to positionthe cursor 303 at the insertion point, and then add spaces or text (byhitting the space bar or keys on a keyboard) to perform the insertion.Carriage returns may also be inserted by pressing the “Enter” or“Return” key on a conventional keyboard. However, with each press of akey (e.g., spacebar), the entire portion of the lines of text 301 beyondthe cursor 303 shifts as a result of the addition. If the user wishes toinsert 20 spaces, the text might shift 20 times for the spaces. Thisshifting is disorienting to the user, and complicates the user'sinteraction with the displayed document.

[0006] A similar problem is encountered if the user wishes to “close up”space between two groups of text. To illustrate, FIG. 3b shows anotherscreen of text from a typical word processing program, in which twogroups of text 304 a, 304 b are separated by space 305. If the userwishes to “close up” this space 305 by bringing the two groups of texttogether, the user typically must either: 1) highlight and delete thespaces and/or carriage returns between the groups of text; or 2)position the cursor at some point within the space 305, and beginpressing “Delete” or “Backspace” keys to delete the various componentsof space 305 (which may include spaces, tabs, carriage returns, etc.).These operations, however, also complicate the user's computerexperience. In option 1, the user must learn how to properly select theentire space area 305, and then learn how to delete or cut the selectedspace area 305 from the document. An inadvertent selection of more, orless, than space 305 might result in an accidental deletion of some orall of the groups of text 304 a, 304 b, requiring the user to backtrackand attempt the deletion again. Option 2 involves the deletion ofindividual spaces, tabs, carriage returns, etc., one at a time. Thisone-at-a-time deletion may be disorienting to the user as text group 304b may be shifted once for each deletion. On slower machines, therepeated deletions may be affected faster than they are displayed,resulting in overdeletions. On faster machines, the rate at which pagesscroll is faster than the user's ability to respond, further frustratingthe user.

[0007]FIGS. 3c-f illustrate another prior art attempt at easing theuser's interaction with the displayed document. In the Microsoft®Inkwriter® product, a user could generate multiple lines 330 of text,which could be handwritten using a stylus, and interacts with thedisplayed document using a pointing device (such as the stylus, mouse,etc.). The user could also place a cursor 332 at an insertion point. Thecursor 332 would initially have the appearance of an “I-beam,” as shownin FIG. 3c. As the user moved a pointer, such as a mouse or styluspointer 334, over the cursor 332, also known as “hovering” over thecursor 332, a new hover symbol 336 would appear below the cursor 332, asshown in FIG. 3d. If the user were to subsequently “click and drag” themouse cursor by, for example, pressing a mouse button and moving themouse, the hover symbol 336 would be replaced by an expanding arrow 338.This “click and drag” may also be performed using a stylus. As the user“dragged” the cursor 332, the expanding arrow 338 would then dynamicallyindicate the vertical position of the mouse pointer 334, as shown inFIG. 3e, while maintaining the same horizontal position. Upon completingthe drag, the text following the cursor 332 is moved to begin as a newline at the final vertical position of the mouse pointer 334.

[0008] The Inkwriter® hover symbol 336 and expanding arrow 338 providesome feedback to the user, but this feedback is limited. For example, noadditional feedback is provided if the user drags the cursor 332 withinthe same line (e.g., to the left or right). Additionally, the amount ofvertical feedback is limited to a vertical indication only. In the FIG.3e screen, the expanding arrow 338 does not indicate the horizontalpositioning of the pointer 334, resulting in some confusion on the partof the user as to what will happen when the dragging ceases. Theoperation of the Inkwriter® cursor is also confusing when the userwishes to delete space in a document. In deleting space or text, theInkwriter® cursor 332 behaves as described above with respect to FIGS.3c-e, resulting in a feedback display as shown in FIG. 3g. In the FIG.3g screen, the expanding arrow 338 similarly provides limited feedbackregarding exactly what text, if any, will be deleted when the draggingis completed.

[0009] The user's computer experience is complicated by these forms ofediting feedback, which is undesirable from a computer-usabilitystandpoint. Consequently, there is a need for a more intuitive anduser-friendly form of feedback when editing documents with a computer.This need is further heightened in any computer system that attempts tosimplify a user's computer experience.

SUMMARY OF THE INVENTION

[0010] The present invention relates to an editing tool for editingelectronically displayed information. The tool permits a user toselectively expand and contract selected areas on a displayed document.The tool provides visual feedback to the user to permit the user to morereadily appreciate how the document will be modified. The tool may bedisplayed to the user as an insertion point cursor with selectablehandles. In some embodiments, the insertion point graphical cursor maybe replaced with two cursors: one stationary and one mobile, in whichthe mobile cursor may be positioned in response to user inputs. Thecursors may also have directional identifiers. An expanding line, orbungee line, may appear between two cursors on an electronic document toidentify the portion of the document that lies between the cursors. Thetool may be used in a variety of environments including computingsystems employing a mouse or stylus as an input device.

[0011] These and other aspects and embodiments will be apparent in viewof the following figures and detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

[0012]FIG. 1 shows a computing environment in which one or more aspectsof the present invention may be implemented.

[0013]FIG. 2 shows a tablet computer configuration on which one or moreembodiments of the present invention may be implemented.

[0014]FIGS. 3a-g depict prior art screens of text using prior art wordprocessors.

[0015]FIGS. 4a and 4 b illustrate graphical user interface iconsaccording to at least one embodiment of the present invention.

[0016]FIGS. 5a-c illustrate directional flows for various written formsof communication, or languages.

[0017]FIGS. 6a-e are screen shots using one or more aspects of thepresent invention.

[0018]FIGS. 7a-c are screen shots using further aspects of the presentinvention.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

[0019] The present invention may be more readily described withreference to FIGS. 1-2 and 4-7 c. FIG. 1 illustrates a schematic diagramof a conventional general-purpose digital computing environment that canbe used to implement various aspects of the present invention. In FIG.1, a computer 100 includes a processing unit 110, a system memory 120,and a system bus 130 that couples various system components includingthe system memory to the processing unit 110. The system bus 130 may beany of several types of bus structures including a memory bus or memorycontroller, a peripheral bus, and a local bus using any of a variety ofbus architectures. The system memory 120 includes read only memory (ROM)140 and random access memory (RAM) 150.

[0020] A basic input/output system 160 (BIOS), containing the basicroutines that help to transfer information between elements within thecomputer 100, such as during start-up, is stored in the ROM 140. Thecomputer 100 also includes a hard disk drive 170 for reading from andwriting to a hard disk (not shown), a magnetic disk drive 180 forreading from or writing to a removable magnetic disk 190, and an opticaldisk drive 191 for reading from or writing to a removable optical disk192 such as a CD ROM or other optical media. The hard disk drive 170,magnetic disk drive 180, and optical disk drive 191 are connected to thesystem bus 130 by a hard disk drive interface 192, a magnetic disk driveinterface 193, and an optical disk drive interface 194, respectively.The drives and their associated computer-readable media providenonvolatile storage of computer readable instructions, data structures,program modules and other data for the personal computer 100. It will beappreciated by those skilled in the art that other types of computerreadable media that can store data that is accessible by a computer,such as magnetic cassettes, flash memory cards, digital video disks,Bernoulli cartridges, random access memories (RAMs), read only memories(ROMs), and the like, may also be used in the example operatingenvironment.

[0021] A number of program modules can be stored on the hard disk drive170, magnetic disk 190, optical disk 192, ROM 140 or RAM 150, includingan operating system 195, one or more application programs 196, otherprogram modules 197, and program data 198. A user can enter commands andinformation into the computer 100 through input devices such as akeyboard 101 and pointing device 102. Other input devices (not shown)may include a microphone, joystick, game pad, satellite dish, scanner orthe like. These and other input devices are often connected to theprocessing unit 110 through a serial port interface 106 that is coupledto the system bus, but may be connected by other interfaces, such as aparallel port, game port or a universal serial bus (USB). Further still,these devices may be coupled directly to the system bus 130 via anappropriate interface (not shown). A monitor 107 or other type ofdisplay device is also connected to the system bus 130 via an interface,such as a video adapter 108. In addition to the monitor, personalcomputers typically include other peripheral output devices (not shown),such as speakers and printers. In a preferred embodiment, a pendigitizer 165 and accompanying pen or stylus 166 are provided in orderto digitally capture freehand input. Although a direct connectionbetween the pen digitizer 165 and the processing unit 110 is shown, inpractice, the pen digitizer 165 may be coupled to the processing unit110 via a serial port, parallel port or other interface and the systembus 130 as known in the art. Furthermore, although the digitizer 165 isshown apart from the monitor 107, it is preferred that the usable inputarea of the digitizer 165 be co-extensive with the display area of themonitor 107. Further still, the digitizer 165 may be integrated in themonitor 107, or may exist as a separate device overlaying or otherwiseappended to the monitor 107.

[0022] The computer 100 can operate in a networked environment usinglogical connections to one or more remote computers, such as a remotecomputer 109. The remote computer 109 can be a server, a router, anetwork PC, a peer device or other common network node, and typicallyincludes many or all of the elements described above relative to thecomputer 100, although only a memory storage device 111 has beenillustrated in FIG. 1. The logical connections depicted in FIG. 1include a local area network (LAN) 112 and a wide area network (WAN)113. Such networking environments are commonplace in offices,enterprise-wide computer networks, intranets and the Internet.

[0023] When used in a LAN networking environment, the computer 100 isconnected to the local network 112 through a network interface oradapter 114. When used in a WAN networking environment, the personalcomputer 100 typically includes a modem 115 or other means forestablishing a communications over the wide area network 113, such asthe Internet. The modem 115, which may be internal or external, isconnected to the system bus 130 via the serial port interface 106. In anetworked environment, program modules depicted relative to the personalcomputer 100, or portions thereof, may be stored in the remote memorystorage device.

[0024] It will be appreciated that the network connections shown areexemplary and other techniques for establishing a communications linkbetween the computers can be used. The existence of any of variouswell-known protocols such as TCP/IP, Ethernet, FTP, HTTP and the like ispresumed, and the system can be operated in a client-serverconfiguration to permit a user to retrieve web pages from a web-basedserver. Any of various conventional web browsers can be used to displayand manipulate data on web pages.

[0025] Although the FIG. 1 environment shows an exemplary environment,it will be understood that other computing environments may also beused. For example, one or more embodiments of the present invention mayuse an environment having fewer than all of the various aspects shown inFIG. 1 and described above, and these aspects may appear in variouscombinations and sub-combinations that will be apparent to one ofordinary skill.

[0026]FIG. 2 illustrates a tablet PC 201 that can be used in accordancewith various aspects of the present invention. Any or all of thefeatures, subsystems, and functions in the system of FIG. 1 can beincluded in the computer of FIG. 2. Tablet PC 201 includes a largedisplay surface 202, e.g., a digitizing flat panel display, preferably,a liquid crystal display (LCD) screen, on which a plurality of windows203 is displayed. Using stylus 204, a user can select, highlight, andwrite on the digitizing display area. Examples of suitable digitizingdisplay panels include electromagnetic pen digitizers, such as the Mutohor Wacom pen digitizers. Other types of pen digitizers, e.g., opticaldigitizers, may also be used. Tablet PC 201 interprets marks made usingstylus 204 in order to manipulate data, enter text, and executeconventional computer application tasks such as spreadsheets, wordprocessing programs, and the like.

[0027] A stylus could be equipped with buttons or other features toaugment its selection capabilities. In one embodiment, a stylus could beimplemented as a simple rigid (or semi-rigid) stylus. Alternatively, the“pencil” or “pen” may include one end that constitutes a writingportion, and another end that constitutes an “eraser” end which, whenmoved across the display, indicates that portions of the display are tobe erased. Other types of input devices such as a mouse, trackball, orthe like could be used. Additionally, a user's own finger could be usedto select or indicate portions of the displayed image on atouch-sensitive or proximity-sensitive display. Consequently, the term“user input device” is intended to have a broad definition andencompasses many variations on well-known input devices. In alternateembodiments, inputs may be received using other devices, such as amouse, track-ball, light pen, keyboard keys, etc.

[0028] In one or more embodiments of the present invention, one or moregraphical insertion point icons may be implemented to provide a morenatural degree of feedback to the user of a computing device. FIG. 4Aillustrates an insertion point icon 401 that may be placed in anelectronic document upon receiving one or more inputs from a user. Theinputs may be in any of a variety of forms, such as a keyboard entryusing a cursor to indicate position, or one or more mouse clicks at aposition. In an embodiment using a tablet and stylus, this input may beachieved using a stylus tap and/or touch on a tablet display screen atthe desired position. The insertion point icon 401 may also include oneor more directional indicators 402 a, 402 b, which may generallyindicate an axis along which a directional flow of the text lies asindicated by indicator 402 b. “Directional flow” of the text refersgenerally to the direction in which native readers of the language inwhich the text is written would linearly read the text, and may beviewed as a particular arrangement of the language “stream”. Forexample, words (or characters, symbols, etc.) that are read first may beconsidered “upstream” of words that are read second. The reversedirection of text flow may also be indicated with indicator 402 a.

[0029] In order to fit this linear stream of words on a page, the streamis usually wrapped in some fashion, creating a directional flow. Themanner of wrapping depends on the particular language, and several aredepicted in FIGS. 5A-C. FIG. 5A shows the left-to-right, top-down flowof the English language. In the English language, words to the left of(or on lines above) a current position may be considered “upstream” fromwords to the right (or on lines below) a current position. As anotherexample, the Chinese language arranges characters in the top to bottom,right to left, directional flow shown in FIG. 5B. In one or moreembodiments of the present invention, the directional flow of textdocuments may be configured by, for example, a user selecting aparticular language. By altering the directional flow, the manner inwhich spaces, text, and/or graphics are added or deleted is affected.

[0030] In one aspect of the present invention, the insertion point icon401 is linear in shape. Such a shape may provide a clear identificationof the position of the icon within the document. In a furtherembodiment, a center line of the insertion point icon 401 isperpendicular to the directional flow of the line of text in which theinsertion point is placed. A perpendicular icon may also provide aclearer identification of the icon's exact location. In alternateembodiments, the center line of the insertion point icon 401 need not belinear, and need not be perpendicular. Such an icon may be desirable,for example, when placed among graphical images.

[0031] In one embodiment, once the insertion point icon 401 is placedwithin a document, the location of the insertion point icon 401 may beused for inserting and/or deleting material, such as text, graphics,space, etc. To implement an edit, the user may position the stylus overthe insertion point icon 401, and enter an input, such as a button presson the stylus, or a tap on the display screen on the insertion pointicon 401. Insertion point icon 401 may also be inserted and/or movedusing other forms of user input, such as pressing one or more keys on akeyboard, using a mouse pointing device, etc. These additional forms ofmovement allow embodiments of the present invention to be implemented ona variety of computer systems. In further embodiments, the insertionpoint icon 401 may alter its appearance responsive to the proximity ofthe stylus or pointing device cursor, or if the insertion point icon isselected. For example, the insertion point 401 might change colors asthe stylus gets near, indicating to the user that the stylus is nearenough to the insertion point 401 to select it. The insertion point 401may also appear depressed, like a button, upon selection. Altering theinsertion point icon's appearance provides clearer feedback to the userwhen, for example, a pointing device cursor is positioned correctly overthe icon 401.

[0032] As discussed above, movement of the insertion point icon 401 maybe initiated through a stylus tap or press on the tablet display overthe insertion point icon 401 to select it for movement, but any otherknown method of selection may also be used. In various embodiments,selection of an insertion point causes the insertion point icon 401 tobe split into two separate icons. FIG. 4B shows these icons as icons403, 404. Each icon may also include an external directional indicator405 a, 405 b. These directional indicators may indicate a direction, inline with the directional flow of the underlying text, that is externalto the portion between the icons 403, 404, and may be located on theside of the icons 403, 404 that is external to the portion of thedocument between the icons. Such directional indicators help provide theuser with feedback regarding the space to be inserted, and the text thatis to be external to the inserted space. Alternatively, directionalindicators may be placed on the sides of the icons 403, 404 that areinternal to the portion of the document between the icons. Such“internal” directional indicators may provide the user with clearerfeedback regarding the amount of space to be added or deleted. In otherembodiments, one or more directional indicators may be omitted. Omittingthese indicators may help conserve processing power for devices havingfewer processing capabilities. In some embodiments, a dynamic connectionline 406 may appear, visually connecting the icons 403 and 404. Thisconnection provides additional feedback to the user regarding the space,text, and/or graphics that is to be added or deleted, and maydynamically expand or contract as the distance between the two icons 405a, 405 b varies. Due to its movement and flexibility, this line may bereferred to herein as a “bungee” line.

[0033] The splitting of the insertion point 401 is, in at least oneembodiment, along a center line of the insertion point 401, but the tworesulting icons 403, 404 may be of any size, and are not necessarilyhalf the width of insertion point 401 (although they may be in someembodiments). After splitting, one of the icons (e.g., 403) is termedthe “origin” icon (or cursor), and remains in the location of theoriginal insertion point 401. The other one of icons (e.g., 404) becomesthe “moving” icon, and may be moved through the user's input, such asdragging the stylus across the tablet display and, as a result, theelectronic document. The determination as to which of icons 403, 404 isthe “origin” and which is the “moving” may be arbitrary in someembodiments, and in others, may be determined based on predeterminedfactors. For example, one type of predetermined factor may relate to theposition at which the user tapped on the insertion point 401 with thestylus. In such embodiments, a user who taps or presses on the left sideof or above (in the English language, upstream) insertion point 401 mayhave icon 403 as the moving icon, and icon 404 as the origin icon, andthe reverse may be true if the user tapped or pressed on the right sideof or below insertion point 401. Alternatively, the designation ofmoving and origin icon may depend on the dragging motion of the user'sstylus. In such embodiments, if a user dragged to the left of or above(e.g., upstream) insertion point 401, then icon 404 might be consideredthe origin icon, and icon 403 the moving icon. Similar designations maybe made depending on whether the dragging motion was upwards ordownwards from the insertion point 401, based on the directional flow ofthe underlying text. Alternatively, upon splitting, a single icon 403(with or without directional indicator) may be placed at the position ofthe insertion point 401, and a second icon 404 (with or withoutdirectional indicator) may follow the user's input device (e.g., stylus)as it moves across the document.

[0034] FIGS. 6A-D depict various screens, and the associated process,that may appear in one embodiment when a user wishes to insert space inthe middle of a portion of a document. The document may comprise text,handwritten text, graphics, and/or the like. In FIG. 6A, the user hashandwritten several lines of text 601 in the English language. Thehandwritten text 601 may have been written on a tablet screen with astylus pen.

[0035] To indicate a location within the text 601 at which space is tobe inserted, a user may use the stylus to identify a location 602between two handwritten words displayed on a tablet screen. Thisidentification may be accomplished using a stylus tap, stylus tap andpress, or any other form of user input. In one embodiment, upon tappingor pressing, the insertion point 603 may appear as shown in FIG. 6B.Depending on the directional flow of the language of the underlyingtext, the text appearing after insertion point 603, or “post-insertionpoint text,” may be required to move as a result of the insertion ofspace. In some embodiments, this movement of text may be referred to asa reflow of the text ink.

[0036] After the insertion point 603 appears, the user may then move(e.g., by tapping, dragging, pressing one or more keys, etc.) theinsertion point 603 to identify the location to which the post-insertionpoint text is to be moved. For example, the user may select insertionpoint 603, and drag the moving cursor 604B to the location where theuser wishes the text to continue as shown in FIG. 6C. As the user drags,the origin cursor 604A remains at the original location. Furthermore,the connection line, or bungee line 605, may also appear, connecting thetwo icons 604A, 604B and providing feedback to the user regarding wherethe post-insertion point text will appear. Moving the icon 604B may befinished, for example, upon lifting the stylus. When the icon 604B ismoved, the text is moved accordingly, inserting additional space andresulting in the arrangement shown in FIG. 6D. The user may then insertand/or write additional text, graphics, etc. in the newly-created space.

[0037] Since the insertion point 603 may be placed within text and thenmoved, a determination may be made as to whether text upstream ordownstream from the point is to be moved. For example, the space createdin the example shown in FIGS. 6A-D is generated by moving the text thatwas originally downstream from point 603, further downstream. Inalternative embodiments, the same space could have been generated bymoving the text upstream from point 603 further upstream. In oneembodiment, this determination may be made based on the direction of themovement of the moving cursor 604 b. If the moving cursor 604 b wasmoved downstream, then the text downstream from point 603 is movedfurther downstream. If the moving cursor 604 b was moved upstream, thetext upstream from point 603 would be moved further upstream. It will beunderstood that this determination may be made in other was to generatethe same space between the cursors 604 a and 604 b.

[0038] In alternative embodiments, as shown in FIG. 6E, the dynamicconnector line 605 may be configured such that rather than connectingthe origin icon 604 a to the moving icon 604 b, the bungee line mayconnect the origin icon 604 a to a position along a margin of theelectronic document to indicate the line to which the text beyondinsertion point 603 will be moved. FIG. 6E depicts a margin dynamicconnector 607. Showing the connection on the margin may avoid obscuringportions of the document being edited, and may simplify processing insome devices. In yet another alternative embodiment, multiple dynamicconnection lines may appear, connecting the origin icon 604 a with boththe moving icon 604 b and a location along a margin of the documentindicating a particular line to which text will be moved. The screenshown in FIG. 6E contains both a dynamic connector 605 extending to themoving icon, and a margin dynamic connector 607 extending to a pointalong a margin. These multiple lines provide the user with a greaterdegree of visual feedback for the edit.

[0039] The post-insertion point text need not be moved to begin at thebeginning of a line. For example, referring back to FIG. 6C, if the userhad positioned the moving icon 604 b at position 606, then the textbeginning “And this is what it looks like” may simply be moved to beginat position 606. In this situation, the computing device may need toinsert carriage returns and/or rearrange the moved text to properly movethe appropriate text. Furthermore, The moving icon 604 b may also followthe user's dragging stylus to position 606, even if the underlyingdocument contains no text or carriage returns up to position 606.

[0040] In alternate embodiments, the moving icon may be configured tofollow the dragging stylus only as far as possible within the existingtext (or carriage returns, tabs, spaces, etc.) in the document. In suchalternate embodiments, if the user were to move the cursor beyond theend of the current document, the moving icon 604 b may simply positionitself at the current end of the document, with another cursor (and/orthe bungee line) following the user's movement beyond the current end ofthe document. In this manner, the user may be given feedback as to howmuch new space is to be added to the existing document, and how muchspace already existed at the end of the document.

[0041] FIGS. 7A-C show screens depicting a user who is deleting spacebetween groups of text, or “closing up” the text. In FIG. 7A, the userhas inserted insertion point 701 at a position where space is to bedeleted. Then, as shown in FIG. 7B, the user moves insertion point 701,splitting the insertion point 701 into an origin and a moving cursor asdescribed above, up to the position 702 at which text is to be closedup. After this movement is complete, as shown in FIG. 7C, the textappearing downstream from point 701 is moved upstream to position 702,closing the space between the origin and moving cursor, and deleting thespaces (or tabs, carriage returns, control characters, etc.) therein. Insome embodiments, the delete process may only delete a contiguousportion of text containing “invisible” characters (such as spaces, tabs,carriage returns, etc.), to delete only space in the document. In otherembodiments, the delete space process may also delete “visible”characters, such as text. These other embodiments allow the user toclose up space as well as unwanted portions of text, and offers greaterflexibility to the user in the editing process.

[0042] In the delete process shown in FIGS. 7A-C, the moving icon isshown at position 702, a point beyond which no space remains to bedeleted (e.g., the movement was upstream, and text appears furtherupstream from position 702). In various embodiments where only spacesare to be deleted, the moving icon remains at point 702 even if the usercontinues to drag the stylus above and/or to the left of (e.g., furtherupstream) point 702. In such embodiments, the moving icon ceases tomove, and remains in position, once it is dragged to the maximum amountof contiguous space that may be deleted. Thus, the moving icon in adelete operation may simply refuse to move into text portions, helpingto prevent inadvertent deletions in the “closing up” process, andproviding the user with definite feedback as to where the deleted spaceresides. Similarly, the connection cord (or cords) may also beconfigured to cease movement. In alternative embodiments, the movingicon may jump to a position on a margin corresponding to point 702. Suchan alternative may minimize the amount of data (e.g., text, graphics,etc.) that is obscured.

[0043] In further alternative embodiments, the aforementioned steps maybe repeated to close up multiple areas of space using a single gestureof the user input device (e.g., stylus, pointer, etc.). For example,some embodiments may simply delete any spaces that exist between thestationary icon and the final position of the input device, leaving thenon-space data (e.g., text, images, etc.). Such embodimentsadvantageously allow users to close up multiple areas of space using asingle gesture.

[0044] In further embodiments, additional pairs of insertion pointstationary/moving icons may be added for the additional areas of spacethat are to be closed. These additional pairs may also have theconnectors and bungee lines described above. The additional pairsadvantageously provide further visual feedback regarding the particularspaces to be closed.

[0045] As an example, the moving icon in FIG. 7B may refuse to moveupwards and to the left of point 702 should the user continue to move,for example, a stylus or pointer in that direction. However, if the usershould continue to move the stylus or pointer into another contiguousarea of space (in FIG. 7B, such an area may exist above the paragraphthat begins “hello this is an example . . . ”), some alternateembodiments may allow the deletion of this second contiguous area ofspace as well by repeating some or all of the steps discussed above. Indoing so, some embodiments may place another insertion pointstationary/moving icon pair to correspond to the second area of space.The stationary icon of this added pair may be placed at one end of thesecond area of space (e.g., just prior to the word “hello” in the FIG.7B example), while the second moving icon may follow the user's inputdevice (e.g., stylus) as described above, closing up the additional areaof space. This process may be repeated for any number of areas of space,and may simplify a user's ability to close up space in a document byclosing multiple areas using a single gesture.

[0046]FIG. 7A also shows the insertion point 701 as being on theleft-most side of a blank line. In choosing to delete space, thecomputing device may be configured to scan further downstream from theinsertion point 701 until text is encountered (in this case, on the nextline, with the word “And”), and include this space in the space to bedeleted as well. Such an embodiment assists users in deleting unwantedspace. Alternatively, the computing device might close up only the spacebetween the origin and moving cursor. Such an embodiment allows a userto reduce the amount of space without necessarily removing all space(e.g., if the user wishes to leave some amount of space untouched).

[0047] In the above embodiments, the computing device may determinewhether an “insert” function or “delete” function is desired based onthe direction in which the user moves the moving icon. If the movingicon is moved upstream (in English, to the left or up), a “closing up”process may be inferred; while if the moving icon is moved downstream(in English, to the right or down), an insert space process may beinferred. However, other embodiments may employ other methods fordetermining which of the two functions is desired. For example, the usermay be queried (e.g., with a pop-up dialog box or window) as to whethera delete space or insert space operation is desired. As another example,the user might provide an input (such as pressing a particular key, ortapping a predetermined amount of times) indicating which process isdesired. Such alternative embodiments may provide a more customizableexperience for the user.

[0048] In further embodiments, the electronic document being edited maycomprise handwritten text in electronic form. As shown in FIGS. 6 and 7,space may be added or deleted within handwritten text by using thevarious features described above.

[0049] In further embodiments, the insertion point may be used to inserttext, graphics, or other data as a typical cursor. The insertion pointmay also be used to provide additional functional behavior, such as thedisplay of a menu. Thus, for example, if a user taps a display once toplace an insertion point, and then taps the insertion point or adirectional indicator (e.g., rather than dragging or moving it), a menumay appear. The insertion point in this instance would not split. Themenu may offer the user selections regarding data, text, graphics, etc.to insert, and upon designation and/or entry of the material to beinserted, the material may simply be inserted, and the insertion pointmay be removed. As such, the insertion point may be configured tooperate just as a standard cursor currently operates in any known wordprocessing system.

[0050] Many of the embodiments discussed above relate to the editing oftextual information. In further embodiments, the insertion point may beused to insert and/or delete space between text and images (ordrawings), or between images, as well as within text.

[0051] Using one or more embodiments of the present invention, anintuitive interface may be achieved, yielding a more natural computerexperience for the user. For example, the user may handwrite severallines of text onto a tablet-based computer simply by using the stylus asif it were a traditional ink pen. If the user should wish to insertadditional handwritten words in the middle of a handwritten paragraph,the user may simply use the stylus to place the insertion point and draga portion of the handwritten paragraph out of the way, making additionalspace. After handwriting the new words, the user may then “close up” theremaining space by once again placing the insertion point and draggingthe remaining portion of the handwritten paragraph back up to thenewly-added material. Editing a handwritten document is significantlymore natural, while at the same time more user-friendly.

[0052] The discussion above provides various aspects and embodiments ofthe present invention, but the invention is not limited to theparticular configurations disclosed. Rather, the disclosed embodimentsare merely various embodiments. Those skilled in the relevant arts willreadily appreciate the fact that many variations to the disclosedembodiments may be made without departing from the spirit and scope ofthe present invention. For example, one or more of the disclosed aspectsor embodiments may be combined with one or more other aspects orembodiments.

We claim:
 1. A method for editing documents on a computer system,comprising the steps of: inserting an insertion point icon at a firstposition in an electronic document; receiving one or more user inputsindicating movement from said first position to a second position;responsive to said one or more user inputs, displaying an origin icon atsaid first position, and displaying a moving icon at said secondposition; and moving one or more portions of said electronic documentresponsive to said one or more user inputs.
 2. The method of claim 1,wherein said insertion point icon includes one or more directionalindicators.
 3. The method of claim 1, wherein said origin icon and saidmoving icon include one or more directional indicators.
 4. The method ofclaim 1, wherein said one or more of said user inputs is generated usinga stylus.
 5. The method of claim 1, further comprising the step ofdisplaying a connection line between said origin icon and said movingicon as said moving icon moves.
 6. The method of claim 1, furthercomprising the step of displaying a connection line between said originicon and a point on a margin of said electronic document correspondingto said second position.
 7. The method of claim 1, further comprisingthe step of moving said moving icon responsive to said one or more userinputs, and keeping said origin icon stationary while said moving iconmoves.
 8. The method of claim 7, wherein said step of moving said one ormore portions of said electronic document further comprises the step ofinserting space between said first position and said second position. 9.The method of claim 8, wherein said electronic document is a textdocument having a directional flow, and said moved portion of saidelectronic document is located downstream, in said directional flow,from said first position prior to said step of moving said one or moreportions of said electronic document.
 10. The method of claim 8, whereinsaid step of moving said moving icon further comprises the step ofterminating movement of said moving icon when said one or more userinputs indicates movement beyond an end of said electronic document. 11.The method of claim 7, wherein said step of moving said one or moreportions of said electronic document further comprises the step ofdeleting space between said first position and said second position. 12.The method of claim 11, wherein said electronic document is a textdocument having a directional flow, and said moved portion of saidelectronic document is located downstream, in said directional flow,from said first position prior to said step of moving said portion ofsaid electronic document.
 13. The method of claim 11, wherein saiddeleted space is contiguous space within said electronic document, andsaid step of moving said moving icon further comprises the step ofterminating movement of said moving icon when said one or more userinputs indicates movement beyond the end of a contiguous space having anend at said first position.
 14. A computer-readable medium havingcomputer-executable instructions for carrying out the steps recited inclaim
 1. 15. In a portable computing device having a display and astylus, a method of editing electronic documents comprising the stepsof: displaying a portion of said electronic document on said display;generating first icon at a first location in said electronic documentresponsive to one or more user inputs; detecting movement of said stylusfrom said first location to a second location in said electronicdocument; and responsive to said detected movement, moving a portion ofsaid electronic document to either increase or delete space in saidelectronic document.
 16. A document editing method on a computer system,comprising the steps of: receiving user input identification of a firstlocation in an electronic document; receiving user input identificationof a second location in said electronic document, said second locationbeing different from said first location; inserting space in saidelectronic document between said first location and said secondlocation.
 17. The method of claim 16, wherein said user inputidentification of said first location and said user input identificationof said second location are generated using a pointing device.
 18. Themethod of claim 17, wherein said pointing device is a stylus.
 19. Themethod of claim 17, wherein said second user input identificationidentifies movement from said first location.
 20. A computer system,comprising: a stylus; a processor; and a digitizer; wherein responsiveto one or more user inputs, said processor causes an insertion pointicon displayed on said digitizer to become two icons, where a first oneof said icons is a stationary icon, and a second one of said icons is amoving icon.
 21. The system of claim 20, wherein said one or more userinputs identifies movement from a first position of said insertion pointicon to a second position.
 22. The system of claim 21, wherein said oneor more user inputs comprises a dragging of said stylus across a portionof said digitizer.
 23. The system of claim 20, wherein said insertionpoint icon includes directional indicators.
 24. The system of claim 20,wherein said stationary and said moving icon each include a directionalindicator.
 25. The system of claim 24, wherein said directionalindicator of said stationary and said moving icons are located in anarea of an electronic document between said stationary and moving icons.26. The system of claim 24, wherein said directional indicator of saidstationary and said moving icons are located external to an area of anelectronic document between said stationary and moving icons.